package com.x8.mt.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.x8.mt.common.PageParam;
import com.x8.mt.dao.ISourcesystemDao;
import com.x8.mt.entity.Sourcesystem;

@Service
public class SourcesystemService {
	@Resource
	ISourcesystemDao iSourcesystemDao;
	
	/**
	 * 
	 * 作者:itcoder
	 * 时间:2017年12月26日 
	 * 作用:获取业务系统下的所有数据
	 */
	public List<Sourcesystem> getSourceSystem() {
		return iSourcesystemDao.getSourceSystem();
	}
	
	/**
	 * 
	 * 作者:allen
	 * 时间:2017年11月20日
	 * 作用:插入一个Sourcesystem记录
	 */
	public boolean insertSourcesystem(Sourcesystem sourcesystem) {
		try {
			return iSourcesystemDao.insert(sourcesystem)>0 ? true:false;
		} catch (Exception e) {
			return false;
		}
	}
	
	/**
	 * 
	 * 作者:allen
	 * 时间:2017年11月21日
	 * 作用:得到Sourcesystem表中总记录数
	 */
	public int getRowCount() {
		return iSourcesystemDao.getRowCount();
	}

	/**
	 * 
	 * 作者:allen
	 * 时间:2017年11月21日
	 * 作用:获取分页数据
	 */
	public PageParam getSourcesystemListByPage(PageParam pageParam) {
		int currPage = pageParam.getCurrPage();
		int offset = (currPage-1)*pageParam.getPageSize();//计算出偏移量，起始位置
		int size = pageParam.getPageSize();//一页的数量
		Map<String,Object> params = new HashMap<String,Object>();
		params.put("offset", offset);
		params.put("size", size);

		List<Sourcesystem> sourcesystemList = iSourcesystemDao.selectByParams(params);
		pageParam.setDate(sourcesystemList);

		return pageParam;
	}
	
	/**
	 * 
	 * 作者:itcoder
	 * 时间:2017年12月2日
	 * 作用:获取所有的Sourcesystems数据
	 */
	public List<Sourcesystem> getAllSourcesystems() {
		return iSourcesystemDao.getAllSourcesystems();
	}

	/**
	 * 
	 * 作者:itcoder
	 * 时间:2017年12月3日 
	 * 作用:通过parentid获取数据源下面的系统列表
	 */
	public List<Sourcesystem> getAllSourcesystemsByParentId(Integer parentid) {
		return iSourcesystemDao.getAllSourcesystemsByParentId(parentid);
	}
	
	/**
	 * 
	 * 作者:GodDispose
	 * 时间:2017年12月7日 
	 * 作用:通过id获取一条系统记录
	 */
	public Sourcesystem getSourcesystemsById(Integer id) {
		return iSourcesystemDao.getSourcesystemByid(id);
	}
	
	/**
	 * 
	 * 作者:GodDispose
	 * 时间:2017年12月14日 
	 * 作用:获取目标系统
	 */
	public List<Sourcesystem> getTargetSystem(String type) {
		return iSourcesystemDao.getSystemByType(type);
	}

	public boolean deleteById(int id) {
		boolean result = false;
		try {
			result = iSourcesystemDao.deleteById(id);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return result;
	}
}
